// Depends: wgt.controller.base.js, wgt.util.json.js, jquery/jqgrid/i18n/grid.locale-en.js, jquery/jqgrid/jquery.jqGrid.js

/**
 * ################### Grid #############################
 * 
 * Scripts used for the grid control
 * 
 * File: wgt.controller.grid.js
 * 
 * Author: Martin Hermann
 */
registerApplyer(function(aktContext) {
	switch (aktContext.type) {
	case "gridI": // init grid
		gridInit(toLastDot( aktContext.cssId ), aktContext.value);
		break;
	case "gridL": // load data
		gridLoad(toLastDot( aktContext.cssId ), aktContext.value);
		break;
	case "gridLL": // load lazy data
		gridLoadLazy(toLastDot( aktContext.cssId ), aktContext.value);
//		eval( "var val="+aktContext.value );
//		var thegrid = jQueryById( toLastDot( aktContext.cssId ) )[0];
//        thegrid.addJSONData(val);
		break;
	default:
		return false;
	}
	return true;
});

function gridInit( gridId, value ) {
	eval( "var val="+value );
	jQueryById( gridId ).jqGrid( val );
	

}

function gridLoadLazy( gridId, value ){
	
	var theGrid = jQueryById( gridId );
	
	var val = JSON.parse(value);
//	var val = eval('(' + value + ')');
	
	theGrid[0].addJSONData(val)
//	eval( "var val="+value );
//	var mydata = val.rows;
//	for ( var i = 0; i <= mydata.length; i++) {
//		theGrid.jqGrid('addRowData', i + 1, mydata[i]);
//	}
//	theGrid.setGridParam({lastpage: val.total});  
//	theGrid.each(function() {  
//		if (this.grid) this.updatepager();  
//	});  
}

function gridLoad( gridId, value ){
	eval( "var mydata="+value );
	for ( var i = 0; i <= mydata.length; i++) {
		jQueryById( gridId ).jqGrid('addRowData', i + 1, mydata[i]);
	}
}
